feat!: Use log id from event for interop root indexing#835
Open
Artemka374 wants to merge 43 commits intomainfrom
Open
feat!: Use log id from event for interop root indexing#835Artemka374 wants to merge 43 commits intomainfrom
Artemka374 wants to merge 43 commits intomainfrom
Conversation
Test results186 tests 185 ✅ 21m 29s ⏱️ For more details on these failures, see this check. Results for commit 4e4893a. ♻️ This comment has been updated with latest results. |
## Summary This PR fixes possible issue when interop transaction come too often leaving no space for regular ones by adding a `next_interop_tx_allowed_after` value to `InteropTxStream`. This way we allow new interop transactions(blocks) to come 3 times less often than regular blocks
Base automatically changed from
afo/separated-interop-tx-pool-storage
to
main
February 3, 2026 10:27
itegulov
previously approved these changes
Feb 5, 2026
Collaborator
itegulov
left a comment
There was a problem hiding this comment.
LGTM, just a bunch of nits
| blockOrBatchNumber: tx.batchNumber, | ||
| sides: vec![tx.chainRoot], | ||
| blockOrBatchNumber: tx.blockNumber, | ||
| sides: tx.sides.clone(), |
| BlockReplayColumnFamily::BlockOutputHash, | ||
| BlockReplayColumnFamily::ForcePreimages, | ||
| BlockReplayColumnFamily::StartingInteropEventIndex, | ||
| BlockReplayColumnFamily::StartingInteropRootId, |
Collaborator
There was a problem hiding this comment.
So side effect of this is we'll have garbage orphan data under old "starting_interop_event_index" CF, correct? That seems acceptable if so
Contributor
Author
There was a problem hiding this comment.
yeah, kinda like that
| } | ||
| } | ||
|
|
||
| impl From<ReplayWireFormatV4> for ReplayRecord { |
Collaborator
There was a problem hiding this comment.
Off-topic: ok, I think we need to get rid of v1-v5 formats at this point. Work for a separate PR ofc
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Rework interop watcher persistence to work with log id instead of event indexes in block.
All the places where InteropRootLogIndex was used was made to work with explicit id of event instead of event index.
Breaking changes
Replay record format was changed - remove old value for root indexes and added new value for root id.
Therefore, latest replay record version was changed
Rollout instructions
ENs should be upgraded before main node